import { request } from '@umijs/max';

// 文件上传获取唯一文件id
export async function uploadFile(body: any, options?: { [key: string]: any }) {
  return request<string>('/admin-api/sys/decoration/uploadFile', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

// 模型对话接口
export async function decorationCell(body: any, options?: { [key: string]: any }) {
  // return {
  //   "code": 0,
  //   "data": {
  //     "resultMessage": "根据提供的装修半包预算表内容，结合行业标准及常见问题，现从材料、工艺、价格等方面指出存在的潜在问题：\n\n**一、材料问题**  \n1. **材料规格缺失**  \n   - 关键材料（如自流平水泥、腻子、乳胶漆）未标注品牌型号，存在以次充好风险。例如：\"墙面处理\"仅标注\"立邦腻子\"，未说明是否含抗裂纤维或耐水性能。  \n   - 木作工程中\"欧松板基层\"未标明环保等级（如E0/E1级），\"柜体\"未说明板材类型（颗粒板/多层板/生态板）。  \n\n2. **辅材成本转嫁**  \n   - 水电工程中未明确线管、水管品牌（如联塑/伟星/中财），\"排水改造\"可能涉及PVC管径规格缺失。  \n   - \"反光灯槽基础\"未说明使用轻钢龙骨还是木龙骨，两者价差达30%。  \n\n**二、工艺问题**  \n1. **施工标准模糊**  \n   - 吊顶工程未注明双层石膏板防裂工艺，石膏板接缝处是否做V型槽处理未说明。  \n   - \"墙面处理\"工序不完整：未明确是否包含网格布抗裂层（常规需另加8-12元/㎡）。  \n   - 水电工程未标注\"电管分色\"（强电红管/弱电蓝管）、\"大弯活线工艺\"等施工标准。  \n\n2. **隐蔽工程风险**  \n   - 未提供水电施工图及点位数量清单，可能产生后期增项。  \n   - \"排水改造\"未说明是否包含存水弯防臭处理，存在渗漏隐患。  \n\n**三、价格问题**  \n1. **单价合理性存疑**  \n   - 自流平单价55元/㎡偏高（市场价35-45元/㎡），且未说明厚度标准（常规3mm）。  \n   - \"石膏板面层\"单价65元/㎡高于行业均价（45-55元/㎡），需确认是否含防锈钉处理。  \n\n2. **工程量计算漏洞**  \n   - 地板找平面积未扣除固定家具投影面积（如定制柜底部）。  \n   - \"门槛石安装\"与\"地板找平\"可能存在重复计算（门槛石区域通常无需找平）。  \n\n**四、费用结构问题**  \n1. **管理费争议**  \n   - 综合管理费12%超出行业常规（8-10%），未说明是否包含监理服务。  \n   - 税金3.41%按全包价计税不合理（半包工程通常按人工费计税）。  \n\n2. **增项风险点**  \n   - 未列明垃圾清运距离标准、材料上楼费（高层建筑需特别注意）。  \n   - \"其他工程\"中的\"成品保护\"未说明保护材料等级（珍珠棉/瓦楞纸/石膏板）。  \n\n**建议改进方向：**  \n1. 补充完整材料品牌、型号及环保等级  \n2. 明确施工工艺标准并附节点图  \n3. 按《建筑装饰装修工程量清单计价规范》调整计价方式  \n4. 增加水电隐蔽工程验收标准及质保条款  \n5. 拆分主材/辅材/人工费明细  \n\n（注：因原文为节选内容，部分分析基于常规装修报价问题推断，具体需结合完整预算表及设计图纸进一步核实）",
  //     "cellId": "22d5cbf7-c556-40ce-8eb0-9da85eecf6d1"
  //   },
  //   "msg": null
  // }
  return request<{
    code: number;
    data: {
      resultMessage: string;
      cellId: string;
    };
    msg: string | null;
  }>('/admin-api/sys/decoration/cell', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

// 获取用户对话记录列表
export async function userCellTitleList(body?: any, options?: { [key: string]: any }) {
  return request<{
    code: number;
    data: Array<{
      id: number;
      userId: number;
      cellId: string;
      title: string;
    }>;
    msg: string;
  }>('/admin-api/sys/decoration/userCellTitleList', {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

// 获取用户对话记录详情
export async function userCellList(params: { cellId: string }, options?: { [key: string]: any }) {
  return request<{
    code: number;
    data: Array<{
      id: number;
      userId: number;
      messageRoleId: number;
      cellId: string;
      message: string;
      createTime: string;
    }>;
    msg: string;
  }>('/admin-api/sys/decoration/userCellList', {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
    },
    params,
    ...(options || {}),
  });
}

// 获取对话内文件id
export async function cellFileId(params: { cellId: string }, options?: { [key: string]: any }) {
  return request<{
    code: number;
    data: Array<{
      id: number;
      fileId: string;
      cellId: string;
      effectiveTime: string;
    }>;
    msg: string;
  }>('/admin-api/sys/decoration/cellFileId', {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
    },
    params,
    ...(options || {}),
  });
}

// 获取上传次数
export async function userCount(body?: any, options?: { [key: string]: any }) {
  return request<{
    code: number;
    data: {
      id: number;
      userId: number;
      paidCount: number;
      freeCount: number;
    };
    msg: string | null;
  }>('/admin-api/sys/aiCellCount/userCount', {
    method: 'GET',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
